# Анализ и сравнение свободных серверных решений
## Реализация тестовой задачи с помощью Django Framework (Python)

### Запуск
Для запуска требуется актуальная версия Docker. Также при первоначальном запуске нужно стабильное интернет-соединение.

Запуск производится с помощью команды (как из _bash_, так и из _cmd_):
```
docker-compose up -d
```

В случае возникновения ошибки `permission denied` запустить с правами суперпользователя (администратора).

### Запросы
Единственный REST сервис доступен по адресу:

[http://localhost:8082/matrix/multiplication](http://localhost:8082/matrix/multiplication)

`Матрица` - двумерный список вещественных чисел.

В запросе - две матрицы `first` и `second`.

В ответе - единственная матрица - произведение матриц `first` и `second`.

#### Пример запроса:
```
{
    "first": [
        [1, 0],
        [0, 1]
    ],
    "second": [
        [1, 1],
        [0, 0]
    ]
}
```

#### Пример ответа:
```
[
    [1.0, 1.0],
    [0.0, 0.0]
]
```

### Исключения
`IncorrectMatrixException` - неверный формат матрицы. Например, один размер нулевой при ненулевом другом или неодинаковая ширина на разных строках.

`MatrixMultiplicationException` - ошибка умножения матриц при несоблюдении условий.
